package com.edward.puff.annotation;

import com.edward.puff.repository.TransLogRepository;
import com.edward.puff.repository.impl.EmptyRepository;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @Author: Edward
 * @Date: 2019/11/27 下午4:04
 * <p>
 * 核心注解,标识是一个puff方法
 */
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface Puff {

    /**
     * TransLog持久化实现类
     */
    Class<? extends TransLogRepository> curRepository() default EmptyRepository.class;

    /**
     * 数据源Name,多数据源情况下使用
     */
    String dateSourceName() default "";

    /**
     * 连接池BeanName
     */
    String executorBeanName() default "";

}
